<template>
  <div class="_wz_cent_main _wz_checkVehicle">
    <Card dis-hover :bordered="true" style="margin:0 0 10px;">
      <p slot="title">搜索</p>
      <div slot="extra">
        <Button type="info" size="small" v-if="!searchType" @click="searchType = true" icon="ios-arrow-down">更多</Button>
        <Button type="info" size="small" v-else @click="searchType = false" icon="ios-arrow-up">收起</Button>
      </div>
      <Form :model="formDataSearch" label-position="right" :label-width="100" inline>
        <FormItem label="车牌号">
          <i-input v-model="formDataSearch.vehicleNo" placeholder="请填写车牌号" clearable />
        </FormItem>
        <FormItem label="车架号">
          <i-input v-model="formDataSearch.frameNo" placeholder="请填写车架号" clearable />
        </FormItem>
        <FormItem label="运输企业" v-if="searchType">
          <i-select v-model="formDataSearch.deptUuid" filterable placeholder="请选择运输企业" clearable>
            <Option v-for="item in subDeptList" :value="item.uuid" :key="item.uuid">{{ item.deptName }}</Option>
          </i-select>
        </FormItem>
        <FormItem label="监管状态" v-if="searchType">
          <i-select v-model="formDataSearch.monitorState" filterable placeholder="请选择监管状态" clearable>
            <Option :value="0">未监管</Option>
            <Option :value="1">已监管</Option>
          </i-select>
        </FormItem>

        <FormItem>
          <Button type="primary" @click="searchSubmit">搜索</Button>
        </FormItem>
      </Form>
    </Card>
    <Card dis-hover :bordered="true">
      <p slot="title">列表</p>
      <p slot="extra">
        <Button type="success" @click="vehicleExport">导出</Button>
      </p>
      <wzTbale ref="wzTbale" :tableData="tableData"></wzTbale>
    </Card>

    <Spin size="large" fix v-if="spinShow"></Spin>
  </div>
</template>
<script>

import wzTbale from "../../../components/table/table";


export default {
  components: {
    wzTbale,//列表
  },

  data() {
    return {
      spinShow:false,//本页加载
      searchType:false,//搜索条件
      subDeptList :[],//下级企业
      formDataSearch: {},//搜索条件
      tableData: {
        url: this.apiUrl.webApi + "/monitor/vehicle/vehicleInfoPageList",//请求地址
        method: 'post',//请求方式
        where: {},//搜索条件
        height: 'auto',//表格高度 auto
        page: true,//分页是否使用
        columns: [//表头数据
          {type: 'index', width: 70, align: 'center', title: '序号'},

          {title: '车牌号', minWidth: 110, key: 'vehiclePlateNumber'},
          {title: '车辆颜色', minWidth: 110, render: (h, params) => {
              if (params.row.vehiclePlateColor == 1) {
                return h('Tag',{  props: { color: 'primary'}}, '蓝色');
              }else if (params.row.vehiclePlateColor == 2) {
                return h('Tag',{  props: { color: 'warning'}},  '黄色');
              }else if (params.row.vehiclePlateColor == 5) {
                return h('Tag',{  props: { color: 'success'}},  '绿色');
              }else{
                return h('Tag',{  props: {color: 'default'}},  '未获取颜色');
              }
            }
          },
          {title: '车架号', minWidth: 170, key: 'vehicleVinNo'},
          {
            title: '入网状态', minWidth: 130,
            render: (h, params) => {
              return h('Tag', {
                props: {type: 'dot',color: (params.row.vehicleInternetState == 1) ? "success" : "warning"}
              }, (params.row.vehicleInternetState == 1) ? "已入网" : "未入网")
            }
          },
          {
            title: '监管状态',  minWidth: 130,
            render: (h, params) => {
              return h('Tag', {
                props: {type: 'dot',color: (params.row.vehicleMonitorState == 1) ? "success" : "warning"}
              }, (params.row.vehicleMonitorState == 1) ? "已监管" : "未监管")
            }
          },
          {title: '发动机号', minWidth: 130, key: 'vehicleEngineNo'},
          {title: '车主业户', minWidth: 160, key: 'vehicleOwnerName'},
          {title: '联系电话', minWidth: 120, key: 'vehicleOwnerPhone'},
          {title: '监管联系人', minWidth: 160, key: 'vehicleMonitorContact'},
          {title: '监管电话', minWidth: 120, key: 'vehicleMonitorPhone'},

          {title: '运输企业', minWidth: 260, key: 'companyName'},
        ],
        format: {//返回数据格式
          list: ['data'],//数据list
          count: ['count'],//数据总量
        },
      },
    }
  },
  beforeCreate() {//beforeCreate创建前状态
  },
  created() {//created创建完毕状态
  },
  beforeMount() {//beforeMount挂载前状态   DOM 元素然后塞入页面的过程

  },
  mounted() {//mounted 挂载结束状态
    let that = this;


    //运输企业
    that.axios.post(that.apiUrl.coreDeptCoreDeptList,{}).then(res => {
      if (!!res) {
        that.subDeptList = res.data.data;
      }
    }).catch(err => {
      console.log("失败", err)
    })
  },
  methods: {//执行的方法
    //搜索
    searchSubmit() {
      this.tableData.where = JSON.parse(JSON.stringify(this.formDataSearch));
      this.$refs.wzTbale.tableLoadData(true);
    },
    //车辆导出
    vehicleExport() {
      let that = this;
      that.spinShow = true;
      that.axios.post(that.apiUrl.webApi + "/monitor/vehicle/vehicleInfoExport",  that.formDataSearch).then(res => {
        that.spinShow = false;
        if (!!res) {
          window.open(that.apiUrl.imgUrl + res.data.data)
        }
      }).catch(err => {
        console.log('失败', err);
      })
    },
  },
  watch: {//监听

  },
  props: {//接收来自父组件的数据

  },
  beforeUpdate() {//beforeUpdate 更新前状态

  },
  updated() {//updated 更新完成状态

  },
  beforeDestroy() {//beforeDestroy 销毁前状态

  },
  destroyed() {//destroyed 销毁完成状态

  }
}
</script>
<style lang="less">

._wz_checkVehicle { //不固定头部  列表到底
  display: flex;
  flex-direction: column;

}

</style>
